#include <Arduino.h>

#if defined(USE_FULL_LL_DRIVER)
#ifdef STM32F407xx
#include "stm32f4xx_ll_gpio.h"
#include "stm32f4xx_ll_spi.h"
#else
#include "stm32f1xx_ll_gpio.h"
#include "stm32f1xx_ll_spi.h"
#include "stm32f1xx_ll_bus.h"
#endif
#endif

typedef struct
{
    unsigned short w, h;     //
    char rorate;             //
    char x_mirror, y_mirror; //
    char *caption;
} lcd_t;

//@ 背光控制脚
extern uint8_t lcd_pwr, lcd_cs;
class lcd_driver
{
public:
    virtual void drawPoint(int x, int y, const char *pixel) = 0;
    void drawPoint16(int x, int y, uint16_t pixel) { drawPoint(x, y, (const char *)&pixel); }
};